package org.spring.springboot.app.adv.advscreeninfo.service;

import org.spring.springboot.app.adv.advscreeninfo.domain.po.AdvScreenInfoPO;
import org.spring.springboot.app.adv.advscreeninfo.domain.vo.*;
import org.spring.springboot.app.base.R;
import org.spring.springboot.app.base.User;

import java.util.List;

public interface IAdvScreenInfoService {

    AdvScreenInfoPO find(String id);

    R delete(String id);

    List<AdvScreenInfoPO> findPageForMyPublic(AdvScreenInfoSearchVO searchVO, int pageNum, int pageSize);

    R saveForMyPublic(AdvScreenInfoForMyPublicSaveInVO vo, User user);

    R updateInfo(AdvScreenInfoUpdateInVO vo);

    R pay(String id, User user);

    R saveForMyAskFor(AdvScreenInfoForMyAskForSaveInVO vo, User user);

    R updateForMyExam(AdvScreenInfoForMyExamUpdateInVO vo, User user);

    R saveForSystem(AdvScreenInfoForSystemSaveInVO vo, User user);

    int update(AdvScreenInfoPO po);

    int profitDivision(String advId);

    List<AdvScreenLogVO> findPageForMyPublicLog(AdvScreenLogSearchVO searchVO, int pageNum, int pageSize);
}
